home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / contrib / zelk / src-zlib / varerrors.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-10-17  |  2.8 KB  |  191 lines

  1. /* varerrors.c - error routines using varargs/stdarg
  2.  */
  3.  
  4. #include <theusual.h>
  5.  
  6. #if Evarargs
  7. # include <varargs.h>
  8. #endif
  9. #if Estdarg
  10. # include <stdarg.h>
  11. #endif
  12.  
  13.  
  14. #if (Emac&&Empw)
  15. #define _Zquit_def_ 1
  16. Zquit(int code,char *msg,...)
  17. {
  18.     va_list ap;
  19.     char str[128];
  20.  
  21.     fflush(stdout);
  22.     va_start(ap,msg);
  23.     vsprintf(str,msg,ap);
  24.     va_end(ap);
  25.     MstdAlert(str);
  26.     exit(code);
  27. }
  28. #endif
  29.  
  30.  
  31. #if (Estdarg&&Evprintf && !_Zquit_def_)
  32. #define _Zquit_def_ 1
  33. proc Zquit(int code,char *msg,...)
  34. {
  35.     va_list ap;
  36.  
  37.     fflush(stdout);
  38.     va_start(ap,msg);
  39.     vfprintf(stderr,msg,ap);
  40.     putc('\n',stderr);
  41.     va_end(ap);
  42.     exit(code);
  43. }
  44. #endif
  45.  
  46. #if (Evarargs&&Evprintf)
  47. #define _Zquit_def_ 1
  48. Zquit(va_alist)
  49.  va_dcl
  50. {
  51.     va_list ap;
  52.     int code;
  53.     char *format;
  54.  
  55.     fflush(stdout);
  56.     va_start(ap);
  57.     code = va_arg(ap,int);
  58.     format = va_arg(ap,char *);
  59.     vfprintf(stderr,format,ap);
  60.     putc('\n',stderr);
  61.     va_end(ap);
  62.     exit(code);
  63. }
  64. #endif
  65.  
  66. #if !_Zquit_def_
  67. Zquit(code,msg)
  68.   int code;
  69.   char *msg;
  70. {
  71.     fflush(stdout);
  72.     fprintf(stderr,"%s\n",msg);
  73.     exit(code);
  74. }
  75. #endif
  76. #undef _Zquit_def_
  77.  
  78.  
  79.  
  80. #if (Estdarg&&Evprintf)
  81. #define _error_def_
  82. proc Zerror(char *msg,...)
  83. {
  84.     va_list ap;
  85.  
  86.     fflush(stdout);
  87.     va_start(ap,msg);
  88.     vfprintf(stderr,msg,ap);
  89.     putc('\n',stderr);
  90.     va_end(ap);
  91.     exit(1);
  92. }
  93. #endif
  94.  
  95.  
  96. #if (Evarargs&&Evprintf)
  97. #define _error_def_
  98. Zerror(va_alist)
  99.  va_dcl
  100. {
  101.     va_list ap;
  102.     
  103.     fflush(stdout);
  104.     va_start(ap);
  105.     vfprintf(stderr,"ERROR: %s\n",ap);
  106.     putc('\n',stderr);
  107.     va_end(ap);
  108.     exit(1);
  109. }
  110. #endif
  111.  
  112.  
  113. #ifndef _error_def_
  114. Zerror(msg)
  115.   char *msg;
  116. {
  117.     fflush(stdout);
  118.     fprintf(stderr,"ERROR: %s\n",msg);
  119.     exit(1);
  120. }
  121. #endif
  122. #undef _error_def_
  123.  
  124.  
  125.  
  126.  
  127. #if (Emac&&Empw)
  128. #define _Zwarning_def_ 1
  129. proc Zwarning(char *msg,...)
  130. {
  131.   va_list ap;
  132.   char str[128],str2[128];
  133.   
  134.   fflush(stdout);
  135.   va_start(ap,msg);
  136.   vsprintf(str,msg,ap);
  137.   sprintf(str2,"Zwarning: %s",str);
  138.   va_end(ap);
  139.   MstdAlert(str2);
  140. }
  141. #endif
  142.  
  143. #if (Estdarg&&Evprintf && !_Zwarning_def_)
  144. #define _Zwarning_def_ 1
  145. proc Zwarning(char *msg,...)
  146. {
  147.   va_list ap;
  148.   char c;
  149.   
  150.   fflush(stdout);
  151.   va_start(ap,msg);
  152.   fprintf(stderr,"Zwarning: ");
  153.   vfprintf(stderr,msg,ap);
  154.   fprintf(stderr," hit return to continue\n");
  155.   va_end(ap);
  156.   read(0,&c,1);
  157. }
  158. #endif
  159.  
  160. #if (Evarargs&&Evprintf && !_Zwarning_def_)
  161. #define _Zwarning_def_ 1
  162. proc Zwarning(va_alist)
  163.  va_dcl
  164. {
  165.   va_list ap;
  166.   char c;
  167.   char *msg;
  168.   
  169.   fflush(stdout);
  170.   va_start(ap);
  171.   msg = va_arg(ap,char *);
  172.   fprintf(stderr,"Zwarning: ");
  173.   vfprintf(stderr,msg,ap);
  174.   fprintf(stderr,"hit return to continue\n");
  175.   va_end(ap);
  176.   read(0,&c,1);
  177. }
  178. #endif
  179.  
  180. #ifndef _Zwarning_def_
  181. proc Zwarning(msg)
  182.   char *msg;
  183. {
  184.   fflush(stdout);
  185.   fprintf(stderr,"Zwarning: %s, hit return to continue\n",msg);
  186.   read(0,&c,1);
  187. }
  188. #endif
  189. #undef _Zwarning_def_
  190.  
  191.